Zum Hauptinhalt springen

JSON verstehen

JSON begegnet dir in 42°OS überall: Agents übergeben ihre Ergebnisse als JSON, Webhooks liefern JSON, der Internal Storage Agent liest und schreibt über JSON-Strukturen, Liquid Templates navigieren durch JSON. Wer JSON versteht, versteht wie Daten in einem Workflow fließen.


Video: JSON und seine Rolle in 42°OS​

Das folgende Video gibt dir einen kompakten Überblick: Was ist JSON, wie ist es aufgebaut und welche Rolle spielt es in der 42°OS Workflow Engine? Wenn du JSON zum ersten Mal siehst, starte hier — das Video erklärt die Grundlagen anschaulich, bevor du im Text weiter in die Details gehst.

Video: JSON verstehen — Aufbau, Syntax und Einsatz in der 42°OS Workflow Engine.


Was ist JSON?​

JSON steht für JavaScript Object Notation. Es ist ein Textformat um strukturierte Daten darzustellen — lesbar für Menschen, verarbeitbar für Maschinen. Heute ist es der Universalstandard für den Datenaustausch zwischen Systemen.

Eine JSON-Struktur ist immer eine von zwei Grundformen: ein Objekt oder ein Array.


Objekte — Schlüssel und Werte​

Ein Objekt ist eine Sammlung von Schlüssel-Wert-Paaren, umschlossen von geschweiften Klammern {}:

{
"invoice_number": "RE-2026-042",
"supplier": "Muster GmbH",
"amount": 1190.00,
"paid": false,
"due_date": "2026-04-15"
}

Jeder Schlüssel ist ein String in Anführungszeichen. Der Wert kann verschiedene Typen haben:

TypBeispielBedeutung
String"Muster GmbH"Text, immer in Anführungszeichen
Number1190.00Zahl, ohne Anführungszeichen
Booleantrue / falseWahrheitswert
NullnullKein Wert / leer
Object{...}Verschachteltes Objekt
Array[...]Liste von Werten

Arrays — Listen von Werten​

Ein Array ist eine geordnete Liste, umschlossen von eckigen Klammern []:

["Rechnung", "Lieferschein", "Mahnung"]

Arrays können beliebige Werttypen enthalten — auch Objekte:

[
{"position": 1, "bezeichnung": "Beratung", "betrag": 800.00},
{"position": 2, "bezeichnung": "Reisekosten", "betrag": 120.50},
{"position": 3, "bezeichnung": "Materialkosten", "betrag": 269.50}
]

Das ist ein Array aus drei Objekten — die typische Struktur für Rechnungspositionen, Bestellzeilen oder Log-Einträge.


Verschachtelung​

Objekte und Arrays können beliebig tief ineinander verschachtelt werden:

{
"invoice_number": "RE-2026-042",
"supplier": {
"name": "Muster GmbH",
"address": {
"street": "Musterstraße 1",
"city": "Bielefeld",
"zip": "33602"
}
},
"positions": [
{"position": 1, "bezeichnung": "Beratung", "betrag": 800.00},
{"position": 2, "bezeichnung": "Reisekosten", "betrag": 120.50}
]
}

Auf verschachtelte Werte greift man über den Pfad zu: supplier.address.city gibt "Bielefeld" zurück. positions[0].betrag gibt 800.00 zurück — [0] ist der erste Eintrag (Arrays beginnen bei 0).


JSON in 42°OS​

Nachrichten zwischen Agents​

Jede Nachricht die durch einen Workflow fließt, ist ein JSON-Objekt. Wenn ein Agent seinen Output hinzufügt, fügt er neue Schlüssel in dieses Objekt ein — oder verändert bestehende. Das Objekt wächst mit jedem Schritt.

Auf Werte zugreifen​

In Liquid Templates greifst du über den Schlüsselnamen auf Werte zu:

{{ invoice_number }}        → RE-2026-042
{{ supplier.name }} → Muster GmbH
{{ positions[0].betrag }} → 800.0

In JavaScript über die Punktnotation oder eckige Klammern:

input.invoice_number          // RE-2026-042
input.supplier.name // Muster GmbH
input.positions[0].betrag // 800.0
input.positions.length // 2

Häufige Fehlerquelle: String vs. Number​

{"amount": 1190.00}   // Number — kann direkt gerechnet werden
{"amount": "1190.00"} // String — muss erst umgewandelt werden

Wenn eine Berechnung unerwartet NaN oder einen Fehler liefert, lohnt sich der Blick ob der Wert als String oder Number vorliegt.


JSON validieren​

Wenn du dir nicht sicher bist ob dein JSON korrekt aufgebaut ist, kannst du es unter jsonlint.com prüfen. Häufige Fehler: fehlende Anführungszeichen um Schlüssel, Komma nach dem letzten Element, einfache statt doppelter Anführungszeichen.